package com.yuanchu.order.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Map;

/**
 * 优惠券记录表
 * 
 * @author adan
 * @email 2028038953@gmail.com
 * @date 2023-12-19 20:57:23
 */
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@Data
@TableName("yoshop_coupon")
public class YoshopCouponEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 优惠券ID
	 */
	@TableId
	private Integer couponId;
	/**
	 * 优惠券名称
	 */
	private String name;
	/**
	 * 优惠券类型(10满减券 20折扣券)
	 */
	private Integer couponType;
	/**
	 * 满减券-减免金额
	 */
	private BigDecimal reducePrice;
	/**
	 * 折扣券-折扣率(0-100)
	 */
	private Integer discount;
	/**
	 * 最低消费金额
	 */
	private BigDecimal minPrice;
	/**
	 * 到期类型(10领取后生效 20固定时间)
	 */
	private Integer expireType;
	/**
	 * 领取后生效-有效天数
	 */
	private Integer expireDay;
	/**
	 * 固定时间-开始时间
	 */
	private String startTime;
	/**
	 * 固定时间-结束时间
	 */
	private String endTime;
	/**
	 * 适用范围(10全部商品 20指定商品 30排除商品)
	 */
	private Integer applyRange;
	/**
	 * 适用范围配置(json格式)
	 */
	private String applyRangeConfig;
	/**
	 * 发放总数量(-1为不限制)
	 */
	private Integer totalNum;
	/**
	 * 已领取数量
	 */
	private Integer receiveNum;
	/**
	 * 优惠券描述
	 */
	private String describe;
	/**
	 * 状态(1显示 0隐藏)
	 */
	private Integer status;
	/**
	 * 排序方式(数字越小越靠前)
	 */
	private Integer sort;
	/**
	 * 软删除
	 */
	private Integer isDelete;
	/**
	 * 商城ID
	 */
	private Integer storeId;
	/**
	 * 创建时间
	 */
	private String createTime;
	/**
	 * 更新时间
	 */
	private String updateTime;


	private Map<String, Object> state;

}
